 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKLogs/LogsModel.h>

@implementation CollectConf
-(id) initWithCollectTemplateUID:(NSString*) collectTemplateUID
      file:(NSString*)file
      filters:(NSArray<NSString*>*)filters
      logtopicUID:(NSString*)logtopicUID
      path:(NSString*)path
      pin:(NSString*)pin { 
     self.collectTemplateUID = collectTemplateUID;               
     self.file = file;               
     self.filters = filters;               
     self.logtopicUID = logtopicUID;               
     self.path = path;               
     self.pin = pin;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self collectTemplateUID])
    {
        [result setValue:[self collectTemplateUID] forKey:@"collectTemplateUID"];
    }
    if([self file])
    {
        [result setValue:[self file] forKey:@"file"];
    }
    if([self filters])
    {
        [result setValue:[self filters] forKey:@"filters"];
    }
    if([self logtopicUID])
    {
        [result setValue:[self logtopicUID] forKey:@"logtopicUID"];
    }
    if([self path])
    {
        [result setValue:[self path] forKey:@"path"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.collectTemplateUID = [dictionary objectForKey:@"collectTemplateUID"];
    self.file = [dictionary objectForKey:@"file"];
    self.filters = [dictionary objectForKey:@"filters"];
    self.logtopicUID = [dictionary objectForKey:@"logtopicUID"];
    self.path = [dictionary objectForKey:@"path"];
    self.pin = [dictionary objectForKey:@"pin"];
    return self;
}
 @end
@implementation SystemLogResultData
-(id) initWithAnchor:(NSArray<NSObject*>*) anchor
      source:(NSObject*)source { 
     self.anchor = anchor;               
     self.source = source;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self anchor])
    {
        [result setValue:[self anchor] forKey:@"anchor"];
    }
    if([self source])
    {
        [result setValue:[self source] forKey:@"source"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.anchor = [dictionary objectForKey:@"anchor"];
    self.source = [dictionary objectForKey:@"source"];
    return self;
}
 @end
@implementation StartShippersSpec
-(id) initWithShipperList:(NSArray<NSString*>*) shipperList { 
     self.shipperList = shipperList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self shipperList])
    {
        [result setValue:[self shipperList] forKey:@"shipperList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.shipperList = [dictionary objectForKey:@"shipperList"];
    return self;
}
 @end
@implementation TestMetricTaskSpec
-(id) initWithAggregate:(NSString*) aggregate
      content:(NSArray<NSString*>*)content
      dataField:(NSString*)dataField
      filterContent:(NSString*)filterContent
      filterOpen:(NSString*)filterOpen
      filterType:(NSString*)filterType { 
     self.aggregate = aggregate;               
     self.content = content;               
     self.dataField = dataField;               
     self.filterContent = filterContent;               
     self.filterOpen = filterOpen;               
     self.filterType = filterType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self aggregate])
    {
        [result setValue:[self aggregate] forKey:@"aggregate"];
    }
    if([self content])
    {
        [result setValue:[self content] forKey:@"content"];
    }
    if([self dataField])
    {
        [result setValue:[self dataField] forKey:@"dataField"];
    }
    if([self filterContent])
    {
        [result setValue:[self filterContent] forKey:@"filterContent"];
    }
    if([self filterOpen])
    {
        [result setValue:[self filterOpen] forKey:@"filterOpen"];
    }
    if([self filterType])
    {
        [result setValue:[self filterType] forKey:@"filterType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.aggregate = [dictionary objectForKey:@"aggregate"];
    self.content = [dictionary objectForKey:@"content"];
    self.dataField = [dictionary objectForKey:@"dataField"];
    self.filterContent = [dictionary objectForKey:@"filterContent"];
    self.filterOpen = [dictionary objectForKey:@"filterOpen"];
    self.filterType = [dictionary objectForKey:@"filterType"];
    return self;
}
 @end
@implementation Field
-(id) initWithKey:(NSString*) key
      type:(NSString*)type { 
     self.key = key;               
     self.type = type;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.type = [dictionary objectForKey:@"type"];
    return self;
}
 @end
@implementation SimpleQueryItem
-(id) initWithExclude:(NSNumber*) exclude
      keyword:(NSString*)keyword { 
     self.exclude = exclude;               
     self.keyword = keyword;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self exclude])
    {
        [result setValue:[self exclude] forKey:@"exclude"];
    }
    if([self keyword])
    {
        [result setValue:[self keyword] forKey:@"keyword"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.exclude = [dictionary objectForKey:@"exclude"];
    self.keyword = [dictionary objectForKey:@"keyword"];
    return self;
}
 @end
@implementation Entry
-(id) initWithContent:(NSString*) content
      stream:(NSString*)stream
      tags:(NSObject*)tags
      timestamp:(NSString*)timestamp { 
     self.content = content;               
     self.stream = stream;               
     self.tags = tags;               
     self.timestamp = timestamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self content])
    {
        [result setValue:[self content] forKey:@"content"];
    }
    if([self stream])
    {
        [result setValue:[self stream] forKey:@"stream"];
    }
    if([self tags])
    {
        [result setValue:[self tags] forKey:@"tags"];
    }
    if([self timestamp])
    {
        [result setValue:[self timestamp] forKey:@"timestamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.content = [dictionary objectForKey:@"content"];
    self.stream = [dictionary objectForKey:@"stream"];
    self.tags = [dictionary objectForKey:@"tags"];
    self.timestamp = [dictionary objectForKey:@"timestamp"];
    return self;
}
 @end
@implementation Error
-(id) initWithCode:(NSNumber*) code
      details:(NSObject*)details
      message:(NSString*)message
      status:(NSString*)status { 
     self.code = code;               
     self.details = details;               
     self.message = message;               
     self.status = status;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self details])
    {
        [result setValue:[self details] forKey:@"details"];
    }
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.code = [dictionary objectForKey:@"code"];
    self.details = [dictionary objectForKey:@"details"];
    self.message = [dictionary objectForKey:@"message"];
    self.status = [dictionary objectForKey:@"status"];
    return self;
}
 @end
@implementation ResourceEnd
-(id) initWithAgentStatus:(NSNumber*) agentStatus
      name:(NSString*)name
      region:(NSString*)region
      resourceId:(NSString*)resourceId { 
     self.agentStatus = agentStatus;               
     self.name = name;               
     self.region = region;               
     self.resourceId = resourceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self agentStatus])
    {
        [result setValue:[self agentStatus] forKey:@"agentStatus"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.agentStatus = [dictionary objectForKey:@"agentStatus"];
    self.name = [dictionary objectForKey:@"name"];
    self.region = [dictionary objectForKey:@"region"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    return self;
}
 @end
@implementation DescribeLogdCAEnd
-(id) initWithCer:(NSString*) cer
      expiryDate:(NSString*)expiryDate { 
     self.cer = cer;               
     self.expiryDate = expiryDate;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cer])
    {
        [result setValue:[self cer] forKey:@"cer"];
    }
    if([self expiryDate])
    {
        [result setValue:[self expiryDate] forKey:@"expiryDate"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cer = [dictionary objectForKey:@"cer"];
    self.expiryDate = [dictionary objectForKey:@"expiryDate"];
    return self;
}
 @end
@implementation StopShippersSpec
-(id) initWithShipperList:(NSArray<NSString*>*) shipperList { 
     self.shipperList = shipperList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self shipperList])
    {
        [result setValue:[self shipperList] forKey:@"shipperList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.shipperList = [dictionary objectForKey:@"shipperList"];
    return self;
}
 @end
@implementation UpdateMetricTaskSpec
-(id) initWithCustomUnit:(NSString*) customUnit
      filterContent:(NSString*)filterContent
      filterOpen:(NSString*)filterOpen
      filterType:(NSString*)filterType
      name:(NSString*)name
      unit:(NSString*)unit { 
     self.customUnit = customUnit;               
     self.filterContent = filterContent;               
     self.filterOpen = filterOpen;               
     self.filterType = filterType;               
     self.name = name;               
     self.unit = unit;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self customUnit])
    {
        [result setValue:[self customUnit] forKey:@"customUnit"];
    }
    if([self filterContent])
    {
        [result setValue:[self filterContent] forKey:@"filterContent"];
    }
    if([self filterOpen])
    {
        [result setValue:[self filterOpen] forKey:@"filterOpen"];
    }
    if([self filterType])
    {
        [result setValue:[self filterType] forKey:@"filterType"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self unit])
    {
        [result setValue:[self unit] forKey:@"unit"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.customUnit = [dictionary objectForKey:@"customUnit"];
    self.filterContent = [dictionary objectForKey:@"filterContent"];
    self.filterOpen = [dictionary objectForKey:@"filterOpen"];
    self.filterType = [dictionary objectForKey:@"filterType"];
    self.name = [dictionary objectForKey:@"name"];
    self.unit = [dictionary objectForKey:@"unit"];
    return self;
}
 @end
@implementation Range
-(id) initWithGt:(NSObject*) gt
      gte:(NSObject*)gte
      lt:(NSObject*)lt
      lte:(NSObject*)lte { 
     self.gt = gt;               
     self.gte = gte;               
     self.lt = lt;               
     self.lte = lte;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self gt])
    {
        [result setValue:[self gt] forKey:@"gt"];
    }
    if([self gte])
    {
        [result setValue:[self gte] forKey:@"gte"];
    }
    if([self lt])
    {
        [result setValue:[self lt] forKey:@"lt"];
    }
    if([self lte])
    {
        [result setValue:[self lte] forKey:@"lte"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.gt = [dictionary objectForKey:@"gt"];
    self.gte = [dictionary objectForKey:@"gte"];
    self.lt = [dictionary objectForKey:@"lt"];
    self.lte = [dictionary objectForKey:@"lte"];
    return self;
}
 @end
@implementation Erp
-(id) initWithErpValue:(NSString*) erpValue
      serviceCode:(NSArray<NSString*>*)serviceCode { 
     self.erpValue = erpValue;               
     self.serviceCode = serviceCode;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self erpValue])
    {
        [result setValue:[self erpValue] forKey:@"erp"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.erpValue = [dictionary objectForKey:@"erp"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    return self;
}
 @end
@implementation CollectTempalteEnd
-(id) initWithFilterEnabled:(NSNumber*) filterEnabled
      logFile:(NSString*)logFile
      logFilters:(NSArray<NSString*>*)logFilters
      logPath:(NSString*)logPath { 
     self.filterEnabled = filterEnabled;               
     self.logFile = logFile;               
     self.logFilters = logFilters;               
     self.logPath = logPath;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self filterEnabled])
    {
        [result setValue:[self filterEnabled] forKey:@"filterEnabled"];
    }
    if([self logFile])
    {
        [result setValue:[self logFile] forKey:@"logFile"];
    }
    if([self logFilters])
    {
        [result setValue:[self logFilters] forKey:@"logFilters"];
    }
    if([self logPath])
    {
        [result setValue:[self logPath] forKey:@"logPath"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.filterEnabled = [dictionary objectForKey:@"filterEnabled"];
    self.logFile = [dictionary objectForKey:@"logFile"];
    self.logFilters = [dictionary objectForKey:@"logFilters"];
    self.logPath = [dictionary objectForKey:@"logPath"];
    return self;
}
 @end
@implementation CustomLogSearchOut
-(id) initWithCode:(NSNumber*) code
      data:(NSArray<NSObject*>*)data
      message:(NSString*)message
      size:(NSNumber*)size
      total:(NSNumber*)total { 
     self.code = code;               
     self.data = data;               
     self.message = message;               
     self.size = size;               
     self.total = total;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self data])
    {
        [result setValue:[self data] forKey:@"data"];
    }
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    if([self size])
    {
        [result setValue:[self size] forKey:@"size"];
    }
    if([self total])
    {
        [result setValue:[self total] forKey:@"total"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.code = [dictionary objectForKey:@"code"];
    self.data = [dictionary objectForKey:@"data"];
    self.message = [dictionary objectForKey:@"message"];
    self.size = [dictionary objectForKey:@"size"];
    self.total = [dictionary objectForKey:@"total"];
    return self;
}
 @end
@implementation SystemLogContextSpec
-(id) initWithAnchor:(NSArray<NSObject*>*) anchor
      appName:(NSString*)appName
      direction:(NSString*)direction
      idValue:(NSString*)idValue
      lineSize:(NSNumber*)lineSize
      logType:(NSString*)logType
      time:(NSNumber*)time { 
     self.anchor = anchor;               
     self.appName = appName;               
     self.direction = direction;               
     self.idValue = idValue;               
     self.lineSize = lineSize;               
     self.logType = logType;               
     self.time = time;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self anchor])
    {
        [result setValue:[self anchor] forKey:@"anchor"];
    }
    if([self appName])
    {
        [result setValue:[self appName] forKey:@"appName"];
    }
    if([self direction])
    {
        [result setValue:[self direction] forKey:@"direction"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self lineSize])
    {
        [result setValue:[self lineSize] forKey:@"lineSize"];
    }
    if([self logType])
    {
        [result setValue:[self logType] forKey:@"logType"];
    }
    if([self time])
    {
        [result setValue:[self time] forKey:@"time"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.anchor = [dictionary objectForKey:@"anchor"];
    self.appName = [dictionary objectForKey:@"appName"];
    self.direction = [dictionary objectForKey:@"direction"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.lineSize = [dictionary objectForKey:@"lineSize"];
    self.logType = [dictionary objectForKey:@"logType"];
    self.time = [dictionary objectForKey:@"time"];
    return self;
}
 @end
@implementation DescribeInstanceMetaEnd
-(id) initWithPin:(NSString*) pin
      tags:(NSMutableDictionary<NSString*,NSString*>*)tags
      timestamp:(NSString*)timestamp { 
     self.pin = pin;               
     self.tags = tags;               
     self.timestamp = timestamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self tags])
    {
        [result setValue:[self tags] forKey:@"tags"];
    }
    if([self timestamp])
    {
        [result setValue:[self timestamp] forKey:@"timestamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pin = [dictionary objectForKey:@"pin"];
    self.tags = [dictionary objectForKey:@"tags"];
    self.timestamp = [dictionary objectForKey:@"timestamp"];
    return self;
}
 @end
@implementation TimestampRange
-(id) initWithEnd:(NSNumber*) end
      start:(NSNumber*)start { 
     self.end = end;               
     self.start = start;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self end])
    {
        [result setValue:[self end] forKey:@"end"];
    }
    if([self start])
    {
        [result setValue:[self start] forKey:@"start"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.end = [dictionary objectForKey:@"end"];
    self.start = [dictionary objectForKey:@"start"];
    return self;
}
 @end
@implementation Resource
-(id) initWithRegion:(NSString*) region
      resourceId:(NSString*)resourceId { 
     self.region = region;               
     self.resourceId = resourceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.region = [dictionary objectForKey:@"region"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    return self;
}
 @end
@implementation DateTimeRange
-(id) initWithEnd:(NSString*) end
      start:(NSString*)start { 
     self.end = end;               
     self.start = start;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self end])
    {
        [result setValue:[self end] forKey:@"end"];
    }
    if([self start])
    {
        [result setValue:[self start] forKey:@"start"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.end = [dictionary objectForKey:@"end"];
    self.start = [dictionary objectForKey:@"start"];
    return self;
}
 @end
@implementation SysTemplateEnd
-(id) initWithUID:(NSString*) uID
      createErp:(NSString*)createErp
      createTime:(NSString*)createTime
      enabled:(NSNumber*)enabled
      name:(NSString*)name
      serviceCode:(NSString*)serviceCode
      updateErp:(NSString*)updateErp
      updateTime:(NSString*)updateTime { 
     self.uID = uID;               
     self.createErp = createErp;               
     self.createTime = createTime;               
     self.enabled = enabled;               
     self.name = name;               
     self.serviceCode = serviceCode;               
     self.updateErp = updateErp;               
     self.updateTime = updateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uID])
    {
        [result setValue:[self uID] forKey:@"uID"];
    }
    if([self createErp])
    {
        [result setValue:[self createErp] forKey:@"createErp"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self enabled])
    {
        [result setValue:[self enabled] forKey:@"enabled"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self updateErp])
    {
        [result setValue:[self updateErp] forKey:@"updateErp"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uID = [dictionary objectForKey:@"uID"];
    self.createErp = [dictionary objectForKey:@"createErp"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.enabled = [dictionary objectForKey:@"enabled"];
    self.name = [dictionary objectForKey:@"name"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.updateErp = [dictionary objectForKey:@"updateErp"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    return self;
}
 @end
@implementation LogsetEnd
-(id) initWithUID:(NSString*) uID
      createTime:(NSString*)createTime
      descriptionValue:(NSString*)descriptionValue
      hasTopic:(NSNumber*)hasTopic
      lifeCycle:(NSNumber*)lifeCycle
      name:(NSString*)name
      region:(NSString*)region { 
     self.uID = uID;               
     self.createTime = createTime;               
     self.descriptionValue = descriptionValue;               
     self.hasTopic = hasTopic;               
     self.lifeCycle = lifeCycle;               
     self.name = name;               
     self.region = region;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uID])
    {
        [result setValue:[self uID] forKey:@"uID"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self hasTopic])
    {
        [result setValue:[self hasTopic] forKey:@"hasTopic"];
    }
    if([self lifeCycle])
    {
        [result setValue:[self lifeCycle] forKey:@"lifeCycle"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uID = [dictionary objectForKey:@"uID"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.hasTopic = [dictionary objectForKey:@"hasTopic"];
    self.lifeCycle = [dictionary objectForKey:@"lifeCycle"];
    self.name = [dictionary objectForKey:@"name"];
    self.region = [dictionary objectForKey:@"region"];
    return self;
}
 @end
@implementation TargetConf
-(id) initWithTargetConfValue:(NSMutableDictionary<NSString*,NSObject*>*) targetConfValue
      targetType:(NSNumber*)targetType { 
     self.targetConfValue = targetConfValue;               
     self.targetType = targetType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self targetConfValue])
    {
        [result setValue:[self targetConfValue] forKey:@"targetConf"];
    }
    if([self targetType])
    {
        [result setValue:[self targetType] forKey:@"targetType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.targetConfValue = [dictionary objectForKey:@"targetConf"];
    self.targetType = [dictionary objectForKey:@"targetType"];
    return self;
}
 @end
@implementation Err
-(id) initWithCode:(NSNumber*) code
      details:(NSObject*)details
      message:(NSString*)message
      status:(NSString*)status { 
     self.code = code;               
     self.details = details;               
     self.message = message;               
     self.status = status;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self details])
    {
        [result setValue:[self details] forKey:@"details"];
    }
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.code = [dictionary objectForKey:@"code"];
    self.details = [dictionary objectForKey:@"details"];
    self.message = [dictionary objectForKey:@"message"];
    self.status = [dictionary objectForKey:@"status"];
    return self;
}
 @end
@implementation ShipperEnd
-(id) initWithUID:(NSString*) uID
      appName:(NSString*)appName
      compress:(NSString*)compress
      createTime:(NSString*)createTime
      fileFormat:(NSString*)fileFormat
      fileSize:(NSNumber*)fileSize
      logsetUID:(NSString*)logsetUID
      logtopicUID:(NSString*)logtopicUID
      name:(NSString*)name
      pin:(NSString*)pin
      region:(NSString*)region
      resourceType:(NSNumber*)resourceType
      resourceUIDs:(NSArray<NSString*>*)resourceUIDs
      serviceCode:(NSString*)serviceCode
      status:(NSNumber*)status
      targetConf:(NSMutableDictionary<NSString*,NSObject*>*)targetConf
      targetType:(NSNumber*)targetType
      timeInterval:(NSNumber*)timeInterval
      updateTime:(NSString*)updateTime { 
     self.uID = uID;               
     self.appName = appName;               
     self.compress = compress;               
     self.createTime = createTime;               
     self.fileFormat = fileFormat;               
     self.fileSize = fileSize;               
     self.logsetUID = logsetUID;               
     self.logtopicUID = logtopicUID;               
     self.name = name;               
     self.pin = pin;               
     self.region = region;               
     self.resourceType = resourceType;               
     self.resourceUIDs = resourceUIDs;               
     self.serviceCode = serviceCode;               
     self.status = status;               
     self.targetConf = targetConf;               
     self.targetType = targetType;               
     self.timeInterval = timeInterval;               
     self.updateTime = updateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uID])
    {
        [result setValue:[self uID] forKey:@"uID"];
    }
    if([self appName])
    {
        [result setValue:[self appName] forKey:@"appName"];
    }
    if([self compress])
    {
        [result setValue:[self compress] forKey:@"compress"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self fileFormat])
    {
        [result setValue:[self fileFormat] forKey:@"fileFormat"];
    }
    if([self fileSize])
    {
        [result setValue:[self fileSize] forKey:@"fileSize"];
    }
    if([self logsetUID])
    {
        [result setValue:[self logsetUID] forKey:@"logsetUID"];
    }
    if([self logtopicUID])
    {
        [result setValue:[self logtopicUID] forKey:@"logtopicUID"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self resourceType])
    {
        [result setValue:[self resourceType] forKey:@"resourceType"];
    }
    if([self resourceUIDs])
    {
        [result setValue:[self resourceUIDs] forKey:@"resourceUIDs"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self targetConf])
    {
        [result setValue:[self targetConf] forKey:@"targetConf"];
    }
    if([self targetType])
    {
        [result setValue:[self targetType] forKey:@"targetType"];
    }
    if([self timeInterval])
    {
        [result setValue:[self timeInterval] forKey:@"timeInterval"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uID = [dictionary objectForKey:@"uID"];
    self.appName = [dictionary objectForKey:@"appName"];
    self.compress = [dictionary objectForKey:@"compress"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.fileFormat = [dictionary objectForKey:@"fileFormat"];
    self.fileSize = [dictionary objectForKey:@"fileSize"];
    self.logsetUID = [dictionary objectForKey:@"logsetUID"];
    self.logtopicUID = [dictionary objectForKey:@"logtopicUID"];
    self.name = [dictionary objectForKey:@"name"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.region = [dictionary objectForKey:@"region"];
    self.resourceType = [dictionary objectForKey:@"resourceType"];
    self.resourceUIDs = [dictionary objectForKey:@"resourceUIDs"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.status = [dictionary objectForKey:@"status"];
    self.targetConf = [dictionary objectForKey:@"targetConf"];
    self.targetType = [dictionary objectForKey:@"targetType"];
    self.timeInterval = [dictionary objectForKey:@"timeInterval"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    return self;
}
 @end
@implementation SystemLogResultTrace
-(id) initWithDestIp:(NSString*) destIp
      idValue:(NSString*)idValue
      srcIp:(NSString*)srcIp
      timestamp:(NSNumber*)timestamp { 
     self.destIp = destIp;               
     self.idValue = idValue;               
     self.srcIp = srcIp;               
     self.timestamp = timestamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self destIp])
    {
        [result setValue:[self destIp] forKey:@"destIp"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self srcIp])
    {
        [result setValue:[self srcIp] forKey:@"srcIp"];
    }
    if([self timestamp])
    {
        [result setValue:[self timestamp] forKey:@"timestamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.destIp = [dictionary objectForKey:@"destIp"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.srcIp = [dictionary objectForKey:@"srcIp"];
    self.timestamp = [dictionary objectForKey:@"timestamp"];
    return self;
}
 @end
@implementation SystemLogResultStatus
-(id) initWithCode:(NSString*) code { 
     self.code = code;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.code = [dictionary objectForKey:@"code"];
    return self;
}
 @end
@implementation SearchLogContextSpec
-(id) initWithAnchor:(NSArray<NSObject*>*) anchor
      direction:(NSString*)direction
      idValue:(NSString*)idValue
      lineSize:(NSNumber*)lineSize
      time:(NSNumber*)time { 
     self.anchor = anchor;               
     self.direction = direction;               
     self.idValue = idValue;               
     self.lineSize = lineSize;               
     self.time = time;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self anchor])
    {
        [result setValue:[self anchor] forKey:@"anchor"];
    }
    if([self direction])
    {
        [result setValue:[self direction] forKey:@"direction"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self lineSize])
    {
        [result setValue:[self lineSize] forKey:@"lineSize"];
    }
    if([self time])
    {
        [result setValue:[self time] forKey:@"time"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.anchor = [dictionary objectForKey:@"anchor"];
    self.direction = [dictionary objectForKey:@"direction"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.lineSize = [dictionary objectForKey:@"lineSize"];
    self.time = [dictionary objectForKey:@"time"];
    return self;
}
 @end
@implementation DescribeMetricTasksSpec
-(id) initWithPageNumber:(NSNumber*) pageNumber
      pageSize:(NSNumber*)pageSize { 
     self.pageNumber = pageNumber;               
     self.pageSize = pageSize;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    return self;
}
 @end
@implementation MetrictaskDetailEnd
-(id) initWithAggregate:(NSString*) aggregate
      cretedTime:(NSString*)cretedTime
      customUnit:(NSString*)customUnit
      dataField:(NSString*)dataField
      filterContent:(NSString*)filterContent
      filterOpen:(NSString*)filterOpen
      filterType:(NSString*)filterType
      idValue:(NSString*)idValue
      interval:(NSNumber*)interval
      metric:(NSString*)metric
      name:(NSString*)name
      unit:(NSString*)unit
      updateTime:(NSString*)updateTime { 
     self.aggregate = aggregate;               
     self.cretedTime = cretedTime;               
     self.customUnit = customUnit;               
     self.dataField = dataField;               
     self.filterContent = filterContent;               
     self.filterOpen = filterOpen;               
     self.filterType = filterType;               
     self.idValue = idValue;               
     self.interval = interval;               
     self.metric = metric;               
     self.name = name;               
     self.unit = unit;               
     self.updateTime = updateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self aggregate])
    {
        [result setValue:[self aggregate] forKey:@"aggregate"];
    }
    if([self cretedTime])
    {
        [result setValue:[self cretedTime] forKey:@"cretedTime"];
    }
    if([self customUnit])
    {
        [result setValue:[self customUnit] forKey:@"customUnit"];
    }
    if([self dataField])
    {
        [result setValue:[self dataField] forKey:@"dataField"];
    }
    if([self filterContent])
    {
        [result setValue:[self filterContent] forKey:@"filterContent"];
    }
    if([self filterOpen])
    {
        [result setValue:[self filterOpen] forKey:@"filterOpen"];
    }
    if([self filterType])
    {
        [result setValue:[self filterType] forKey:@"filterType"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self interval])
    {
        [result setValue:[self interval] forKey:@"interval"];
    }
    if([self metric])
    {
        [result setValue:[self metric] forKey:@"metric"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self unit])
    {
        [result setValue:[self unit] forKey:@"unit"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.aggregate = [dictionary objectForKey:@"aggregate"];
    self.cretedTime = [dictionary objectForKey:@"cretedTime"];
    self.customUnit = [dictionary objectForKey:@"customUnit"];
    self.dataField = [dictionary objectForKey:@"dataField"];
    self.filterContent = [dictionary objectForKey:@"filterContent"];
    self.filterOpen = [dictionary objectForKey:@"filterOpen"];
    self.filterType = [dictionary objectForKey:@"filterType"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.interval = [dictionary objectForKey:@"interval"];
    self.metric = [dictionary objectForKey:@"metric"];
    self.name = [dictionary objectForKey:@"name"];
    self.unit = [dictionary objectForKey:@"unit"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    return self;
}
 @end
@implementation ShipperTaskEnd
-(id) initWithUID:(NSString*) uID
      allowRetry:(NSNumber*)allowRetry
      createTime:(NSString*)createTime
      endTime:(NSNumber*)endTime
      logsetUID:(NSString*)logsetUID
      logtopicUID:(NSString*)logtopicUID
      region:(NSString*)region
      shipperEndTime:(NSNumber*)shipperEndTime
      shipperStartTime:(NSNumber*)shipperStartTime
      shipperUID:(NSString*)shipperUID
      startTime:(NSNumber*)startTime
      status:(NSNumber*)status
      updateTime:(NSString*)updateTime { 
     self.uID = uID;               
     self.allowRetry = allowRetry;               
     self.createTime = createTime;               
     self.endTime = endTime;               
     self.logsetUID = logsetUID;               
     self.logtopicUID = logtopicUID;               
     self.region = region;               
     self.shipperEndTime = shipperEndTime;               
     self.shipperStartTime = shipperStartTime;               
     self.shipperUID = shipperUID;               
     self.startTime = startTime;               
     self.status = status;               
     self.updateTime = updateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uID])
    {
        [result setValue:[self uID] forKey:@"uID"];
    }
    if([self allowRetry])
    {
        [result setValue:[self allowRetry] forKey:@"allowRetry"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self logsetUID])
    {
        [result setValue:[self logsetUID] forKey:@"logsetUID"];
    }
    if([self logtopicUID])
    {
        [result setValue:[self logtopicUID] forKey:@"logtopicUID"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self shipperEndTime])
    {
        [result setValue:[self shipperEndTime] forKey:@"shipperEndTime"];
    }
    if([self shipperStartTime])
    {
        [result setValue:[self shipperStartTime] forKey:@"shipperStartTime"];
    }
    if([self shipperUID])
    {
        [result setValue:[self shipperUID] forKey:@"shipperUID"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uID = [dictionary objectForKey:@"uID"];
    self.allowRetry = [dictionary objectForKey:@"allowRetry"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.logsetUID = [dictionary objectForKey:@"logsetUID"];
    self.logtopicUID = [dictionary objectForKey:@"logtopicUID"];
    self.region = [dictionary objectForKey:@"region"];
    self.shipperEndTime = [dictionary objectForKey:@"shipperEndTime"];
    self.shipperStartTime = [dictionary objectForKey:@"shipperStartTime"];
    self.shipperUID = [dictionary objectForKey:@"shipperUID"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.status = [dictionary objectForKey:@"status"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    return self;
}
 @end
@implementation Pair
-(id) initWithKey:(NSString*) key
      value:(NSString*)value { 
     self.key = key;               
     self.value = value;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.value = [dictionary objectForKey:@"value"];
    return self;
}
 @end
@implementation TemplateEnd
-(id) initWithUID:(NSString*) uID
      name:(NSString*)name { 
     self.uID = uID;               
     self.name = name;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uID])
    {
        [result setValue:[self uID] forKey:@"uID"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uID = [dictionary objectForKey:@"uID"];
    self.name = [dictionary objectForKey:@"name"];
    return self;
}
 @end
@implementation CreateMetricTaskSpec
-(id) initWithAggregate:(NSString*) aggregate
      customUnit:(NSString*)customUnit
      dataField:(NSString*)dataField
      filterContent:(NSString*)filterContent
      filterOpen:(NSString*)filterOpen
      filterType:(NSString*)filterType
      interval:(NSNumber*)interval
      metric:(NSString*)metric
      name:(NSString*)name
      unit:(NSString*)unit { 
     self.aggregate = aggregate;               
     self.customUnit = customUnit;               
     self.dataField = dataField;               
     self.filterContent = filterContent;               
     self.filterOpen = filterOpen;               
     self.filterType = filterType;               
     self.interval = interval;               
     self.metric = metric;               
     self.name = name;               
     self.unit = unit;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self aggregate])
    {
        [result setValue:[self aggregate] forKey:@"aggregate"];
    }
    if([self customUnit])
    {
        [result setValue:[self customUnit] forKey:@"customUnit"];
    }
    if([self dataField])
    {
        [result setValue:[self dataField] forKey:@"dataField"];
    }
    if([self filterContent])
    {
        [result setValue:[self filterContent] forKey:@"filterContent"];
    }
    if([self filterOpen])
    {
        [result setValue:[self filterOpen] forKey:@"filterOpen"];
    }
    if([self filterType])
    {
        [result setValue:[self filterType] forKey:@"filterType"];
    }
    if([self interval])
    {
        [result setValue:[self interval] forKey:@"interval"];
    }
    if([self metric])
    {
        [result setValue:[self metric] forKey:@"metric"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self unit])
    {
        [result setValue:[self unit] forKey:@"unit"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.aggregate = [dictionary objectForKey:@"aggregate"];
    self.customUnit = [dictionary objectForKey:@"customUnit"];
    self.dataField = [dictionary objectForKey:@"dataField"];
    self.filterContent = [dictionary objectForKey:@"filterContent"];
    self.filterOpen = [dictionary objectForKey:@"filterOpen"];
    self.filterType = [dictionary objectForKey:@"filterType"];
    self.interval = [dictionary objectForKey:@"interval"];
    self.metric = [dictionary objectForKey:@"metric"];
    self.name = [dictionary objectForKey:@"name"];
    self.unit = [dictionary objectForKey:@"unit"];
    return self;
}
 @end
@implementation CreateShipperSpec
-(id) initWithCompress:(NSString*) compress
      fileFormat:(NSString*)fileFormat
      fileSize:(NSNumber*)fileSize
      name:(NSString*)name
      targetConf:(NSMutableDictionary<NSString*,NSObject*>*)targetConf
      targetType:(NSNumber*)targetType
      timeInterval:(NSNumber*)timeInterval { 
     self.compress = compress;               
     self.fileFormat = fileFormat;               
     self.fileSize = fileSize;               
     self.name = name;               
     self.targetConf = targetConf;               
     self.targetType = targetType;               
     self.timeInterval = timeInterval;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self compress])
    {
        [result setValue:[self compress] forKey:@"compress"];
    }
    if([self fileFormat])
    {
        [result setValue:[self fileFormat] forKey:@"fileFormat"];
    }
    if([self fileSize])
    {
        [result setValue:[self fileSize] forKey:@"fileSize"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self targetConf])
    {
        [result setValue:[self targetConf] forKey:@"targetConf"];
    }
    if([self targetType])
    {
        [result setValue:[self targetType] forKey:@"targetType"];
    }
    if([self timeInterval])
    {
        [result setValue:[self timeInterval] forKey:@"timeInterval"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.compress = [dictionary objectForKey:@"compress"];
    self.fileFormat = [dictionary objectForKey:@"fileFormat"];
    self.fileSize = [dictionary objectForKey:@"fileSize"];
    self.name = [dictionary objectForKey:@"name"];
    self.targetConf = [dictionary objectForKey:@"targetConf"];
    self.targetType = [dictionary objectForKey:@"targetType"];
    self.timeInterval = [dictionary objectForKey:@"timeInterval"];
    return self;
}
 @end
@implementation DescribeInstanceCollectConfsEnd
-(id) initWithResult:(NSArray<CollectConf*>*) result { 
     self.result = result;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self result])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self result] count]; i++) {
            CollectConf* item = [[self result] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"result"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* resultArray = [dictionary objectForKey:@"result"];
    if(resultArray&&![resultArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [resultArray count];i++)
        {
            CollectConf* item = [[CollectConf alloc]initWithDic:[resultArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.result = propertyArray;
    }
    return self;
}
 @end
@implementation SimpleQuery
-(id) initWithItems:(NSArray<SimpleQueryItem*>*) items
      opt:(NSString*)opt { 
     self.items = items;               
     self.opt = opt;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self items])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self items] count]; i++) {
            SimpleQueryItem* item = [[self items] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"items"];
    }
    if([self opt])
    {
        [result setValue:[self opt] forKey:@"opt"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* itemsArray = [dictionary objectForKey:@"items"];
    if(itemsArray&&![itemsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [itemsArray count];i++)
        {
            SimpleQueryItem* item = [[SimpleQueryItem alloc]initWithDic:[itemsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.items = propertyArray;
    }
    self.opt = [dictionary objectForKey:@"opt"];
    return self;
}
 @end
@implementation CollectInfoDetailEnd
-(id) initWithUID:(NSString*) uID
      appCode:(NSString*)appCode
      detail:(CollectTempalteEnd*)detail
      enabled:(NSNumber*)enabled
      resourceType:(NSString*)resourceType
      resourcesCount:(NSNumber*)resourcesCount
      serviceCode:(NSString*)serviceCode
      templateName:(NSString*)templateName
      templateUID:(NSString*)templateUID { 
     self.uID = uID;               
     self.appCode = appCode;               
     self.detail = detail;               
     self.enabled = enabled;               
     self.resourceType = resourceType;               
     self.resourcesCount = resourcesCount;               
     self.serviceCode = serviceCode;               
     self.templateName = templateName;               
     self.templateUID = templateUID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uID])
    {
        [result setValue:[self uID] forKey:@"uID"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self detail])
    {
        [result setValue:[[self detail] dictionary]forKey:@"detail"];
    }
    if([self enabled])
    {
        [result setValue:[self enabled] forKey:@"enabled"];
    }
    if([self resourceType])
    {
        [result setValue:[self resourceType] forKey:@"resourceType"];
    }
    if([self resourcesCount])
    {
        [result setValue:[self resourcesCount] forKey:@"resourcesCount"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self templateName])
    {
        [result setValue:[self templateName] forKey:@"templateName"];
    }
    if([self templateUID])
    {
        [result setValue:[self templateUID] forKey:@"templateUID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uID = [dictionary objectForKey:@"uID"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.detail = [[CollectTempalteEnd alloc]initWithDic:[dictionary objectForKey:@"detail"]];
    self.enabled = [dictionary objectForKey:@"enabled"];
    self.resourceType = [dictionary objectForKey:@"resourceType"];
    self.resourcesCount = [dictionary objectForKey:@"resourcesCount"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.templateName = [dictionary objectForKey:@"templateName"];
    self.templateUID = [dictionary objectForKey:@"templateUID"];
    return self;
}
 @end
@implementation LogtopicDetailEnd
-(id) initWithCollectInfo:(CollectInfoDetailEnd*) collectInfo
      uID:(NSString*)uID
      collectInfoUID:(NSString*)collectInfoUID
      createTime:(NSString*)createTime
      descriptionValue:(NSString*)descriptionValue
      lastRecordTime:(NSString*)lastRecordTime
      logsetName:(NSString*)logsetName
      logsetUID:(NSString*)logsetUID
      name:(NSString*)name
      region:(NSString*)region { 
     self.collectInfo = collectInfo;               
     self.uID = uID;               
     self.collectInfoUID = collectInfoUID;               
     self.createTime = createTime;               
     self.descriptionValue = descriptionValue;               
     self.lastRecordTime = lastRecordTime;               
     self.logsetName = logsetName;               
     self.logsetUID = logsetUID;               
     self.name = name;               
     self.region = region;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self collectInfo])
    {
        [result setValue:[[self collectInfo] dictionary]forKey:@"collectInfo"];
    }
    if([self uID])
    {
        [result setValue:[self uID] forKey:@"uID"];
    }
    if([self collectInfoUID])
    {
        [result setValue:[self collectInfoUID] forKey:@"collectInfoUID"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self lastRecordTime])
    {
        [result setValue:[self lastRecordTime] forKey:@"lastRecordTime"];
    }
    if([self logsetName])
    {
        [result setValue:[self logsetName] forKey:@"logsetName"];
    }
    if([self logsetUID])
    {
        [result setValue:[self logsetUID] forKey:@"logsetUID"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.collectInfo = [[CollectInfoDetailEnd alloc]initWithDic:[dictionary objectForKey:@"collectInfo"]];
    self.uID = [dictionary objectForKey:@"uID"];
    self.collectInfoUID = [dictionary objectForKey:@"collectInfoUID"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.lastRecordTime = [dictionary objectForKey:@"lastRecordTime"];
    self.logsetName = [dictionary objectForKey:@"logsetName"];
    self.logsetUID = [dictionary objectForKey:@"logsetUID"];
    self.name = [dictionary objectForKey:@"name"];
    self.region = [dictionary objectForKey:@"region"];
    return self;
}
 @end
@implementation SystemLogHistorySpec
-(id) initWithAppName:(NSString*) appName
      exactMatch:(NSNumber*)exactMatch
      instance:(NSString*)instance
      keyword:(NSString*)keyword
      logType:(NSString*)logType
      order:(NSString*)order
      page:(NSNumber*)page
      size:(NSNumber*)size
      time:(TimestampRange*)time { 
     self.appName = appName;               
     self.exactMatch = exactMatch;               
     self.instance = instance;               
     self.keyword = keyword;               
     self.logType = logType;               
     self.order = order;               
     self.page = page;               
     self.size = size;               
     self.time = time;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self appName])
    {
        [result setValue:[self appName] forKey:@"appName"];
    }
    if([self exactMatch])
    {
        [result setValue:[self exactMatch] forKey:@"exactMatch"];
    }
    if([self instance])
    {
        [result setValue:[self instance] forKey:@"instance"];
    }
    if([self keyword])
    {
        [result setValue:[self keyword] forKey:@"keyword"];
    }
    if([self logType])
    {
        [result setValue:[self logType] forKey:@"logType"];
    }
    if([self order])
    {
        [result setValue:[self order] forKey:@"order"];
    }
    if([self page])
    {
        [result setValue:[self page] forKey:@"page"];
    }
    if([self size])
    {
        [result setValue:[self size] forKey:@"size"];
    }
    if([self time])
    {
        [result setValue:[[self time] dictionary]forKey:@"time"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.appName = [dictionary objectForKey:@"appName"];
    self.exactMatch = [dictionary objectForKey:@"exactMatch"];
    self.instance = [dictionary objectForKey:@"instance"];
    self.keyword = [dictionary objectForKey:@"keyword"];
    self.logType = [dictionary objectForKey:@"logType"];
    self.order = [dictionary objectForKey:@"order"];
    self.page = [dictionary objectForKey:@"page"];
    self.size = [dictionary objectForKey:@"size"];
    self.time = [[TimestampRange alloc]initWithDic:[dictionary objectForKey:@"time"]];
    return self;
}
 @end
@implementation ApiConfEnd
-(id) initWithApiName:(NSString*) apiName
      apiType:(NSNumber*)apiType
      idValue:(NSNumber*)idValue
      method:(NSString*)method
      params:(NSArray<Pair*>*)params
      resp:(NSArray<Pair*>*)resp
      serviceCode:(NSString*)serviceCode
      url:(NSString*)url
      version:(NSString*)version { 
     self.apiName = apiName;               
     self.apiType = apiType;               
     self.idValue = idValue;               
     self.method = method;               
     self.params = params;               
     self.resp = resp;               
     self.serviceCode = serviceCode;               
     self.url = url;               
     self.version = version;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiName])
    {
        [result setValue:[self apiName] forKey:@"apiName"];
    }
    if([self apiType])
    {
        [result setValue:[self apiType] forKey:@"apiType"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self method])
    {
        [result setValue:[self method] forKey:@"method"];
    }
    if([self params])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self params] count]; i++) {
            Pair* item = [[self params] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"params"];
    }
    if([self resp])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self resp] count]; i++) {
            Pair* item = [[self resp] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"resp"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self url])
    {
        [result setValue:[self url] forKey:@"url"];
    }
    if([self version])
    {
        [result setValue:[self version] forKey:@"version"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiName = [dictionary objectForKey:@"apiName"];
    self.apiType = [dictionary objectForKey:@"apiType"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.method = [dictionary objectForKey:@"method"];
    NSArray* paramsArray = [dictionary objectForKey:@"params"];
    if(paramsArray&&![paramsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [paramsArray count];i++)
        {
            Pair* item = [[Pair alloc]initWithDic:[paramsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.params = propertyArray;
    }
    NSArray* respArray = [dictionary objectForKey:@"resp"];
    if(respArray&&![respArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [respArray count];i++)
        {
            Pair* item = [[Pair alloc]initWithDic:[respArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.resp = propertyArray;
    }
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.url = [dictionary objectForKey:@"url"];
    self.version = [dictionary objectForKey:@"version"];
    return self;
}
 @end
@implementation SystemLogEnd
-(id) initWithData:(NSArray<SystemLogResultData*>*) data
      hits:(NSNumber*)hits
      size:(NSNumber*)size { 
     self.data = data;               
     self.hits = hits;               
     self.size = size;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self data])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self data] count]; i++) {
            SystemLogResultData* item = [[self data] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"data"];
    }
    if([self hits])
    {
        [result setValue:[self hits] forKey:@"hits"];
    }
    if([self size])
    {
        [result setValue:[self size] forKey:@"size"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* dataArray = [dictionary objectForKey:@"data"];
    if(dataArray&&![dataArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataArray count];i++)
        {
            SystemLogResultData* item = [[SystemLogResultData alloc]initWithDic:[dataArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.data = propertyArray;
    }
    self.hits = [dictionary objectForKey:@"hits"];
    self.size = [dictionary objectForKey:@"size"];
    return self;
}
 @end
@implementation Match
-(id) initWithEq:(NSMutableDictionary<NSString*,NSArray<NSObject*>*>*) eq
      notValue:(NSMutableDictionary<NSString*,NSArray<NSObject*>*>*)notValue
      range:(NSMutableDictionary<NSString*,Range*>*)range
      regexp:(NSMutableDictionary<NSString*,NSArray<NSString*>*>*)regexp
      simple_query_string:(NSMutableDictionary<NSString*,NSString*>*)simple_query_string
      simpleQuery:(NSMutableDictionary<NSString*,SimpleQuery*>*)simpleQuery
      substring:(NSMutableDictionary<NSString*,NSArray<NSString*>*>*)substring { 
     self.eq = eq;               
     self.notValue = notValue;               
     self.range = range;               
     self.regexp = regexp;               
     self.simple_query_string = simple_query_string;               
     self.simpleQuery = simpleQuery;               
     self.substring = substring;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self eq])
    {
        [result setValue:[self eq] forKey:@"eq"];
    }
    if([self notValue])
    {
        [result setValue:[self notValue] forKey:@"not"];
    }
    if([self range])
    {
            NSMutableDictionary* rangeDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicRangeKeys = [[self range] allKeys];
            for (NSString* dicRangeKey in dicRangeKeys) {
                Range* rangeDictionaryItem = [[self range] valueForKey:dicRangeKey];
                if(rangeDictionaryItem)
                {
                    [rangeDictionary setValue:[rangeDictionaryItem dictionary] forKey:dicRangeKey];
                }
            }
            if(rangeDictionary && [rangeDictionary count]>0)
            {
                [result setValue:rangeDictionary forKey:@"range"];
            }
    }
    if([self regexp])
    {
        [result setValue:[self regexp] forKey:@"regexp"];
    }
    if([self simple_query_string])
    {
        [result setValue:[self simple_query_string] forKey:@"simple_query_string"];
    }
    if([self simpleQuery])
    {
            NSMutableDictionary* simpleQueryDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicSimpleQueryKeys = [[self simpleQuery] allKeys];
            for (NSString* dicSimpleQueryKey in dicSimpleQueryKeys) {
                SimpleQuery* simpleQueryDictionaryItem = [[self simpleQuery] valueForKey:dicSimpleQueryKey];
                if(simpleQueryDictionaryItem)
                {
                    [simpleQueryDictionary setValue:[simpleQueryDictionaryItem dictionary] forKey:dicSimpleQueryKey];
                }
            }
            if(simpleQueryDictionary && [simpleQueryDictionary count]>0)
            {
                [result setValue:simpleQueryDictionary forKey:@"simpleQuery"];
            }
    }
    if([self substring])
    {
        [result setValue:[self substring] forKey:@"substring"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.eq = [dictionary objectForKey:@"eq"];
    self.notValue = [dictionary objectForKey:@"not"];
    NSDictionary* rangeDictionary =  [dictionary objectForKey:@"range"];
    if(rangeDictionary)
    {
        NSArray* rangeDictionaryKeys = [rangeDictionary allKeys];
        if(rangeDictionaryKeys && [rangeDictionaryKeys count] >0)
        {
            NSMutableDictionary* range= [[NSMutableDictionary alloc]init];
            for (NSString* rangeDictionaryKey in rangeDictionaryKeys) {
                NSDictionary* rangeDictionaryValue = [rangeDictionary valueForKey:rangeDictionaryKey];
                if(rangeDictionaryValue)
                {
                    [range setValue:[[Range alloc]initWithDic:rangeDictionaryValue] forKey:rangeDictionaryKey];
                }
            }
            if(range && [range count] > 0)
            {
                self.range = range;
            }
        }
    }
    self.regexp = [dictionary objectForKey:@"regexp"];
    self.simple_query_string = [dictionary objectForKey:@"simple_query_string"];
    NSDictionary* simpleQueryDictionary =  [dictionary objectForKey:@"simpleQuery"];
    if(simpleQueryDictionary)
    {
        NSArray* simpleQueryDictionaryKeys = [simpleQueryDictionary allKeys];
        if(simpleQueryDictionaryKeys && [simpleQueryDictionaryKeys count] >0)
        {
            NSMutableDictionary* simpleQuery= [[NSMutableDictionary alloc]init];
            for (NSString* simpleQueryDictionaryKey in simpleQueryDictionaryKeys) {
                NSDictionary* simpleQueryDictionaryValue = [simpleQueryDictionary valueForKey:simpleQueryDictionaryKey];
                if(simpleQueryDictionaryValue)
                {
                    [simpleQuery setValue:[[SimpleQuery alloc]initWithDic:simpleQueryDictionaryValue] forKey:simpleQueryDictionaryKey];
                }
            }
            if(simpleQuery && [simpleQuery count] > 0)
            {
                self.simpleQuery = simpleQuery;
            }
        }
    }
    self.substring = [dictionary objectForKey:@"substring"];
    return self;
}
 @end
@implementation CustomLogSearchSpec
-(id) initWithAppName:(NSArray<NSString*>*) appName
      from:(NSNumber*)from
      logTopicId:(NSString*)logTopicId
      match:(NSArray<Match*>*)match
      recordId:(NSString*)recordId
      resp:(NSArray<NSString*>*)resp
      size:(NSNumber*)size
      sort:(NSString*)sort
      timeRange:(DateTimeRange*)timeRange
      uuid:(NSString*)uuid { 
     self.appName = appName;               
     self.from = from;               
     self.logTopicId = logTopicId;               
     self.match = match;               
     self.recordId = recordId;               
     self.resp = resp;               
     self.size = size;               
     self.sort = sort;               
     self.timeRange = timeRange;               
     self.uuid = uuid;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self appName])
    {
        [result setValue:[self appName] forKey:@"appName"];
    }
    if([self from])
    {
        [result setValue:[self from] forKey:@"from"];
    }
    if([self logTopicId])
    {
        [result setValue:[self logTopicId] forKey:@"logTopicId"];
    }
    if([self match])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self match] count]; i++) {
            Match* item = [[self match] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"match"];
    }
    if([self recordId])
    {
        [result setValue:[self recordId] forKey:@"recordId"];
    }
    if([self resp])
    {
        [result setValue:[self resp] forKey:@"resp"];
    }
    if([self size])
    {
        [result setValue:[self size] forKey:@"size"];
    }
    if([self sort])
    {
        [result setValue:[self sort] forKey:@"sort"];
    }
    if([self timeRange])
    {
        [result setValue:[[self timeRange] dictionary]forKey:@"timeRange"];
    }
    if([self uuid])
    {
        [result setValue:[self uuid] forKey:@"uuid"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.appName = [dictionary objectForKey:@"appName"];
    self.from = [dictionary objectForKey:@"from"];
    self.logTopicId = [dictionary objectForKey:@"logTopicId"];
    NSArray* matchArray = [dictionary objectForKey:@"match"];
    if(matchArray&&![matchArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [matchArray count];i++)
        {
            Match* item = [[Match alloc]initWithDic:[matchArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.match = propertyArray;
    }
    self.recordId = [dictionary objectForKey:@"recordId"];
    self.resp = [dictionary objectForKey:@"resp"];
    self.size = [dictionary objectForKey:@"size"];
    self.sort = [dictionary objectForKey:@"sort"];
    self.timeRange = [[DateTimeRange alloc]initWithDic:[dictionary objectForKey:@"timeRange"]];
    self.uuid = [dictionary objectForKey:@"uuid"];
    return self;
}
 @end
 
 


